/*************************************************************************
    > File Name: tracker1D_api.h
    > Author: wanghuanyu
    > Mail: wanghuanyu@weye.tech
    > Created Time: [2024-03-07 01:17:28]
 ************************************************************************/
#ifndef _TRACKER1D_API_913B61C9_D271_4C8B_B222_739B0306002C_
#define _TRACKER1D_API_913B61C9_D271_4C8B_B222_739B0306002C_

#include "core/common/types.h"

_WE_BEGIN

#define _MAX_INPUT_ 5
#define _MAX_OUTPUT_ 5

typedef struct tracker1D_output_data_t_tag
{
	we_u16 m_id;
	we_f32 m_distance;
	we_f32 m_velocity;
}tracker1D_output_data_t;

typedef struct tracker1D_output_t_tag
{
	we_u32 m_cnt;
	tracker1D_output_data_t m_data[_MAX_OUTPUT_];
}tracker1D_output_t;

_WE_API void tracker1D_init(const we_f32 dr);

_WE_API we_u32 tracker1D_tracking(const we_f32* distances, const we_u32 n, const we_f32 dt);

_WE_API tracker1D_output_t* tracker1D_get_output();

_WE_END

#endif /* end of _TRACKER1D_API_913B61C9_D271_4C8B_B222_739B0306002C_ */